/*
* Copyright (c) 2011 Connection Road.  All rights reserved.
* This program and the accompanying material are made available
* under the terms of the Eclipse Public Licnese v1.0 which is
* available at http://www.eclipse.org/legal/epl-v10.html
*/

using System;

namespace CrSyncFilesUtils {
    public class FileSyncEventArgs : EventArgs {

        public FileSyncEventArgs()
        {
            
        }

        public FileSyncEventArgs(string message)
        {
            Message = message;
        }

        public FileSyncEventArgs(string message, bool previewMode)
        {
            Message = message;
            PreviewMode = previewMode;
        }

        public FileSyncEventArgs(CrSyncFileStatistics crSyncFileStatistics)
        {
            FileSyncStatistics = crSyncFileStatistics;
        }

        public FileSyncEventArgs(CrSyncFileStatistics crSyncFileStatistics, bool previewMode)
        {
            FileSyncStatistics = crSyncFileStatistics;
            PreviewMode = previewMode;
        }

        public FileSyncEventArgs(CrSyncFileStatistics crSyncFileStatistics, string message)
        {
            FileSyncStatistics = crSyncFileStatistics;
            Message = message;
        }

        public FileSyncEventArgs(CrSyncFileStatistics crSyncFileStatistics, CrSyncedFileInfo crSynchedFileInfo ,string message)
        {
            FileSyncStatistics = crSyncFileStatistics;
            Message = message;
            FileSynchedInfo = crSynchedFileInfo;
        }

        public FileSyncEventArgs(CrSyncFileStatistics crSyncFileStatistics, CrSyncedFileInfo crSynchedFileInfo, bool previewMode ,string message)
        {
            FileSyncStatistics = crSyncFileStatistics;
            Message = message;
            FileSynchedInfo = crSynchedFileInfo;
            PreviewMode = previewMode;
        }
       
        public FileSyncEventArgs(int filesMovedIn)
        {
            FilesMoved = filesMovedIn;
        }

        public FileSyncEventArgs(int filesMovedIn, bool previewMode)
        {
            FilesMoved = filesMovedIn;
            PreviewMode = previewMode;
        }

        public FileSyncEventArgs(int filesMovedIn, bool previewMode, CrSyncFileStatistics crSyncFileStatistics)
        {
            FilesMoved = filesMovedIn;
            PreviewMode = previewMode;
            FileSyncStatistics = crSyncFileStatistics;
        }

        public FileSyncEventArgs(int filesMoved, bool previewMode, CrSyncFileStatistics fileSyncStatistics, string message)
        {
            FilesMoved = filesMoved;
            PreviewMode = previewMode;
            FileSyncStatistics = fileSyncStatistics;
            Message = message;
        }

        public FileSyncEventArgs(int filesMoved, bool previewMode, CrSyncFileStatistics fileSyncStatistics, CrSyncedFileInfo crSynchedFileInfo, string message)
        {
            FilesMoved = filesMoved;
            PreviewMode = previewMode;
            FileSyncStatistics = fileSyncStatistics;
            FileSynchedInfo = crSynchedFileInfo;
            Message = message;
        }

        public int FilesMoved { get; set; }
        public bool PreviewMode { get; set; }
        public CrSyncFileStatistics FileSyncStatistics { get; set; }
        public string Message { get; set; }
        public CrSyncedFileInfo FileSynchedInfo { get; set; }
        

    }
}
